Print devices are commonly used in both domestic and commercial environments to convert print data, generated in a computer system, into hard-copy output. A computer system will generally include one or more application programs, such as a word processor program, from which print data is generated for output to a printer. The print data for a particular print ‘job’ usually comprises a page description language (PDL) file describing the physical content of the printable area, and a job description language (JDL) file for describing attributes of the print job, such as the type of paper to be used, the number of copies to be made, the type of finishing to be applied (e.g. stapled/laminated) and so on. Once a print job is generated by the application program, the print data for that job is applied to a print spooler for output to a printer.
A typical print device will comprise a raster-image processor (RIP) for converting the PDL into a file representing the graphical output, e.g. the dots to be printed on a page. This processed data is then passed to a print engine (PE) which converts the processed data into the electrical signals required to drive the physical mechanism of the print device, e.g. the drum of a laser printer, or the carriage/ink nozzles of an inkjet printer.
It is becoming increasingly common for a plurality of computer systems to be connected to a plurality of different printers by means of a computer network. In environments where a large number of print jobs are being processed over a period of time, timing information is often specified as part of the print job. This timing information will often represent a preferred time at which the print job should be processed, or perhaps the latest time at which the print job should be processed. In some circumstances, the print job may simply be placed in a queue on the spooler for passing to a printer at the earliest available time. The JDL of each print job may also specify that a particular print device on the network is to be used, e.g. because it is a colour printer or it has the required finisher device.
At the time at which the print job is to be processed, it is passed by the computer system to a print device. However, the problem often arises, particularly in networked systems, that the print job cannot be processed at the preferred time, since the data channel between the computer system and the print device is congested with data relating to other print jobs. Furthermore, where a particular print device is specified with a new print job, if that print device is already being used to print a different job, the new print job will have to wait until the other print job has been completed. This problem is particularly prevalent in commercial environments where print jobs are placed in a schedule. In such situations, network traffic tends to occur in clustered bursts and bottlenecks occur.